package com.ruoyi.framework.storage;

import org.springframework.core.io.Resource;

import java.io.InputStream;
import java.nio.file.Path;

public interface Storage {

    String getStoragePath();

    String store(InputStream inputStream, String keyName);

    /**
     * 存储一个文件对象
     *
     * @param inputStream   文件输入流
     * @param keyName       文件名
     */
    String store(InputStream inputStream, String keyName, String contentType);

    Path load(String keyName);

    Resource loadAsResource(String keyName);

    void delete(String keyName);

    String generateUrl(String keyName);
}
